五、實際操作
Day 16 : 透過簡易的書店 API 來進行資料庫的版本控制
-> Day 17 : 透過 Entity Framework Core Migration 來進行資料庫的版本控制
Day 18 : 透過 Entity Framework Core Migration 對資料庫進行修改
Day 19 : 將 Entity Framework Core Migration 異動同步上 git
Day 20 : 將 Entity Framework Core Migration 流程套入 CI/CD 流程中
Day 21 : 透過 Entity Framework Core Migration 進行退版
Day 22 : 透過 Flyway 來進行資料庫的版本控制
Day 23 : 透過 Flyway 對資料庫進行修改
Day 24 : 透過 Flyway 異動同步上 git
Day 25 : 將 Flyway 套入 CI/CD 流程中
Day 26 : 透過 Flyway 進行退版
Day 27 : Entity Framework Core Migration vs Flyway
我們先產生一個 webapi 專案,.NET 6,取名為 BookStroe
由於之後的操作會在本機端的 PostgreSQL 操作,所以對其安裝 PostgreSQL 版本的 Entity Framework Core
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL --version 6.0.7
裝完了我們就有了操作資料庫套件,雖然比 ADO.NET 更好上手了,但仍需做一些配置,比如說 appsetting 內放置連線字串等,我們這裡先簡化
我們將 Book 的 Entity 建立好
public class Book
{
public Guid Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
設定好 EF 的設定
最後我們將使用 EF 產生遷移檔,並實際建立資料表
migrationBuilder.CreateTable(
name: "Book",
schema: "BookStore",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
Name = table.Column<Guid>(type: "text", nullable: false),
Price = table.Column<Guid>(type: "decimal", nullable: false),
},
constraints: table =>
{
table.PrimaryKey("PK_Books", x => x.Id);
});
下一篇將會增加功能並且修改資料庫的 Schema